package dk.pekilidi.dod;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.io.Serializable;
import java.util.List;

/**
 * User: msp
 * Date: Mar 19, 2008
 * Time: 10:30:17 AM
 */
public class SkillConfiguration extends BaseObject implements Serializable {

    public enum SkillConfigType implements DoDType {
        OFFENSIVE, DEFENSIVE, ALLROUND
    }

    private long beingId;
    private int skillPoints;
    private List<Attribute.AttributeType> skillContributingAttribs;
    private List<Skill> skillList;

    public long getBeingId() {
        return beingId;
    }

    public void setBeingId(long beingId) {
        this.beingId = beingId;
    }

    public int getSkillPoints() {
        return skillPoints;
    }

    public void setSkillPoints(int skillPoints) {
        this.skillPoints = skillPoints;
    }

    /**
     * This skill types affect calculating total amount of skill points 
     * @return a List of Skill contributing AttributeTypes
     */
    public List<Attribute.AttributeType> getSkillContributingAttribs() {
        return skillContributingAttribs;
    }

    public void setSkillContributingAttribs(List<Attribute.AttributeType> skillContributingAttribs) {
        this.skillContributingAttribs = skillContributingAttribs;
    }

    public List<Skill> getSkillList() {
        return skillList;
    }

    public void setSkillList(List<Skill> skillList) {
        this.skillList = skillList;
    }


    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).
                append("beingId", beingId).
                append("skillPoints", skillPoints).
                append("skillContributingAttribs", skillContributingAttribs).
                append("skillList", skillList).
                toString();
    }
}
